package main.java.design.composite;

import java.util.ArrayList;
import java.util.List;

/**
 * <p></p>
 *
 * @author : wangdejian
 * @version 1.0
 * @date : 2020/6/16 20:37
 */
public class Folder implements Component {

    // 组合模式的核心思想了。文件和文件夹是一种"部分-整体"的关系，文件夹里面既可以包含文件，
    // 也可以包含文件夹，而包含的文件夹里面又可以包含文件和文件夹.....
    private List<Component> list = new ArrayList<>();
    private String name;
    public Folder(String name) {
        this.name = name;
    }



    @Override
    public void add(Component component) {
        list.add(component);
    }

    @Override
    public void remove(Component component) {
        list.remove(component);
    }

    @Override
    public void display() {
        System.out.println("文件夹名称："+name);
        for (Component component : list) {
            component.display();
        }
    }

}
